Practical Algorithms for Image Analysis

Description, Examples and Code
 
 
Michael Seul 
BioArray Solutions, LLC 
Piscataway, New Jersey
Lawrence O'Gorman 
Veridicom, Inc. 
Chatham, New Jersey
Michael J. Sammon
Lucent Technologies
Liberty Corner, New Jersey
 
 

General Information

The code examples found on this CD-ROM are in sub directories whose name corresponds to chapter sections in the text.  For example, the programs in chapter 2, section 1 are in the directory ch_2.1.  The executables as well as the source for all programs are included.  Additional library routines are found under the libtiff, libimage and libip directories.

All source code files (*.c and *.h) are stored in UNIX format (i.e. they do not have the CR-LF line terminator that DOS text editors expect).  Windows programs such as WordPad and the Visual C++ editor will not have trouble displaying these files properly.  However Notepad will not be able to display the source files and is not recommended for editing.  A LINUX utility program is included to convert between UNIX and DOS text formats.  This program is in the util/linux/tofrodos-1.1 directory.

Development environments for both LINUX and Microsoft Windows are supplied.  For compatibility across operating systems, all programs are compiled as console applications and are invoked from a command line prompt.

Because of licensing requirements, the libtiff image library is compiled without Lempel-Ziv-Welch (LZW) compression.  Therefore, those programs that use image files for input and output support only uncompressed TIFF at present.  It is up to the user to acquire graphics conversion utilities for converting images to uncompressed TIFF.  Alternatively, the user can download the full version of libtiff from ftp://ftp.sgi.com/graphics/tiff that includes compression and recompile all programs.

Compression for binary images (G3/G4 fax compression) is currently disabled because of inconsistencies in the way image editors display these types of files.  Some programs (Adobe Photoshop for Windows and xv for LINUX in particular) display G3/G4 compressed binary TIFF images properly.  There are other programs that display these files by inverting the bitmap.  To enable G3/G4 compression for binary images, see the ImageOut() routine in tiffimage.c under the libimage directory.

Hardware Requirements

A Pentium class machine, 100MHz or greater with at least 32Mb of RAM is suggested to run these programs in either a Win32 or LINUX environment.  Installing the executables requires at least 50 Mb of free disk space.  Installing the entire distribution requires at least 300 Mb of free disk space.  A graphics adapter set to a mode of displaying at least 256 colors is required for viewing the sample image files.

Windows95, Windows98, WindowsNT Installation and Requirements

The windows executables of the programs on this CD-ROM have been compiled using Microsoft Visual C++ Version 4.0.  Although the programs have been compiled and run on both Windows95 and Windows98, the authors are confident that they should run equally well under WindowsNT.  All development environment files are included as well as the Debug and Release sub directories.

To install only the executables, select the bindosd directory (debug version) or bindosr directory (release version) and drag the directory to the desired target hard drive and subdirectory using Windows Explorer.

To install all the development environments on your computer, select all the ch_* directories along with the libtiff, libimage and libip directories and drag these directories to the desired hard drive and subdirectory using Windows Explorer.  NOTE: as part of the build process under Microsoft Visual C++, we have included a custom build step that will copy the executable after a successful compile to either the bindosr or bindosd directory depending on whether Release or Debug is selected.  Therefore, the bindosr and bindosd directories must exist at the same level as the ch_* directories.

Alternatively, using Windows Explorer, you can select "Copy" under "Edit" after the directories have been selected and then select the target drive and directory, and select "Paste" under "Edit" to copy directories.
 

LINUX Installation and Requirements

NOTE: To enable filenames longer that the ISO9660 8.3 naming convention, the CD-ROM has been formatted using the Microsoft Joliet filesystem.  Some LINUX systems may not be able to read this format without patching the kernel.  In this case unzip the file tarfile.gz using the gunzip LINUX utility.  The result will be a file named tarfile from which the entire distribution can be extracted using the following command:
tar -xvf tarfile

The LINUX executables of the programs on this CD-ROM have been compiled using gcc version 2.7.2 under the LINUX kernel version 2.0.0 with Red Hat version 3.0.3.

To install the executables only, copy everything under the binlin directory to the desired target directory.  For example:
cp /cdrom/binlin/* /usr/home/<userid>/bin
would copy all the LINUX executables to the bin directory for a user (This assumes that bin already exists and the mount point for the CD-ROM is /cdrom).

To install the entire distribution on your computer, we suggest following the unzip/tar procedure mentioned above.  Alternatively, one can recursively copy all the ch_* directories, along with the binlin, libtiff, libimage and libip directories to the hard drive.  For example:
cp -r /cdrom/ch_* /cdrom/binlin /cdrom/libtiff /cdrom/libimage /cdrom/libip /usr/home/<userid>/workspace
would copy all the LINUX development environments to the workspace directory for a user (This assumes that workspace already exists and the mount point for the CD-ROM is /cdrom).  NOTE: LINUX may not preserve the case of the filenames copied and some builds may fail (libtiff in particular).

For convenience, a build script (build.sh) is included that will build the entire distribuition.  Type build.sh -? for instructions on how to use it.
 

Examples of Program Usage

Click here to view usage examples for all the programs in this book.  An index is also provided.

Contacting the Authors

The authors may be contacted by sending mail to mlmsoftwaregroup@mindspring.com.  Alternatively the website http://www.mlmsoftwaregroup.com can be accessed for contacting the authors and code updates.
 

Use and Copyright

This code is distributed under a limited-use license that may be viewed by invoking an appropriate option on the command line of each program. Unless otherwise indicated in the source code, copyright is jointly held by the authors, as indicated by a copyright notice such as: Copyright (C) 1997, 1998, 1999 MLMSoftware Group, LLC.  In some instances, we use third-party code in versions available from public sources. In those instances, the original authors, as identified in the source code, retain copyright.

Except when otherwise stated in writing, the copyright holders and/or other parties provide each program "as is" without any warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for particular purpose. The entire risk as to the quality and performance of the programs is with the user. Should the program prove defective, the user assumes the cost of all necessary servicing, repair or correction.

In no event shall any copyright holder be liable for damages including any direct, indirect, general, special, incidental or consequential damages arising out of the use or inability to use the programs (including, but not limited to, loss of use or data, data being rendered inaccurate or losses sustained by the user or third parties or a failure of the programs to operate with any other programs) however caused, and under any theory of liability, whether in contract, strict liability, or tort.
 
 
 

Copyright (C) 1999 MLMSoftware Group, LLC.

Red Hat is a registered trademark of Red Hat Software, Inc.

LINUX is a registered trademark of Linus Torvalds.

Photoshop is a registered trademark of Adobe Systems, Inc.

UNIX is a registered trademark of The Open Group.

Windows is a registered trademark of Microsoft Corporation.

All other trademarks and copyrights referred to are the property of their respective owners.